home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 41 / Amiga Format CD41 (1999-06)(Future Publishing)(GB)[!][issue 1999-07].iso / -seriously_amiga- / programming / other / scm / slib / byte.scm < prev    next >
Text File  |  1999-04-19  |  708b  |  16 lines

  1. ;;; "byte.scm" small integers, not necessarily chars.
  2.  
  3. (define (byte-ref str ind) (char->integer (string-ref str ind)))
  4. (define (byte-set! str ind val) (string-set! str ind (integer->char val)))
  5. (define (make-bytes len . opt)
  6.   (if (null? opt) (make-string len)
  7.       (make-string len (integer->char (car opt)))))
  8. (define bytes-length string-length)
  9. (define (write-byte byt . opt) (apply write-char (integer->char byt) opt))
  10. (define (read-byte . opt)
  11.   (let ((c (apply read-char opt)))
  12.     (if (eof-object? c) c (char->integer c))))
  13. (define (bytes . args) (list->bytes args))
  14. (define (bytes->list bts) (map char->integer (string->list bts)))
  15. (define (list->bytes lst) (list->string (map integer->char lst)))
  16.